package com.yy.service;

import com.github.pagehelper.PageInfo;
import com.yy.domain.AppointmentTasksDO;
import com.yy.domain.SecondHospitalAppointmentsDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yy.dto.mother.*;
import com.yy.vo.*;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 姚欣宏
 * @since 2023-10-24
 */
public interface SecondHospitalAppointmentsService extends IService<SecondHospitalAppointmentsDO> {

    AuthDataDTO getAuthCode(String phoneNum);

    Integer tasksCreate(AppointmentTasksVO appointmentTasksVO);

    PageInfo<SecondHospitalAppointmentsDO> tasksList(AppointmentTasksPageVO appointmentTasksPageVO);

    List<UserOrganCardDetailDTO> getUserOrganCardList(CardRequestVO cardRequestVO);

    DepartmentInfoDTO selTree(TreeRequestVO treeRequestVO);

    DetailedDataResponseDTO selDocListSelectionPage(TreeRequestVO treeRequestVO);

    PageDoctorResponseDTO selDoctorListPaging(DoctorRequestVO doctorRequestVO);

    DataResponseDTO selDoctorSchedule(DoctorInfoRequestVO doctorInfoRequestVO);

    Integer taskConfiguration(AppointmentTasksVO appointmentTasksVO);

    DoctorDetailDTO selSureOrderPage(ScheduleInfoRequestVO scheduleInfoRequestVO);

    AppointmentResponseDTO orderCheck(AppointmentRequestVO appointmentRequestVO);

    ImageCodeDTO getImageCode(ImageRequestVO imageRequestVO);

    DetailResponseDTO sureOrder(InformationVO informationVO);

    PatientPageInfoDTO recordPage(QueryCriteriaVO queryCriteriaVO);

    void cancel(CancelVO cancelVO);

    String checkToken(Integer id);

    void copy(Integer id);

    void autoSureAppointment(SecondHospitalAppointmentsDO secondHospitalAppointmentsDO);
}
